{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 1. 需要安装的包有\n",
    "* pymongo\n",
    "* collections\n",
    "* numpy\n",
    "* pandas\n",
    "* jieba\n",
    "* re\n",
    "* sklearn\n",
    "\n",
    "### 2.运行过程中输出的数据可以看文件``` rule_cluster.ipynb ```\n",
    "\n",
    "### 3.运行以下代码就可得到最终结果,\n",
    "cluster_extract.py文件中的cluster_extract()是主运行函数，一共聚了6类，\n",
    "输入是读取的mongo数据库，\n",
    "输出如下运行所示，共6行代表6大类,其中第0类为色情文本\n",
    "\n",
    "以第一行为例，```id```是指属于第0大类的mongo数据库中的所有```_id```集合，key是第0类提取出来的前十个关键词"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "Building prefix dict from the default dictionary ...\n",
      "Loading model from cache /tmp/jieba.cache\n",
      "Loading model cost 0.714 seconds.\n",
      "Prefix dict has been built succesfully.\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "In stage 0: transferred 685 clusters with 6 clusters populated\n",
      "In stage 1: transferred 443 clusters with 6 clusters populated\n",
      "In stage 2: transferred 277 clusters with 6 clusters populated\n",
      "In stage 3: transferred 184 clusters with 6 clusters populated\n",
      "In stage 4: transferred 139 clusters with 6 clusters populated\n",
      "In stage 5: transferred 103 clusters with 6 clusters populated\n",
      "In stage 6: transferred 107 clusters with 6 clusters populated\n",
      "In stage 7: transferred 96 clusters with 6 clusters populated\n",
      "In stage 8: transferred 81 clusters with 6 clusters populated\n",
      "In stage 9: transferred 77 clusters with 6 clusters populated\n",
      "In stage 10: transferred 63 clusters with 6 clusters populated\n",
      "In stage 11: transferred 61 clusters with 6 clusters populated\n",
      "In stage 12: transferred 67 clusters with 6 clusters populated\n",
      "In stage 13: transferred 72 clusters with 6 clusters populated\n",
      "In stage 14: transferred 61 clusters with 6 clusters populated\n",
      "In stage 15: transferred 59 clusters with 6 clusters populated\n",
      "In stage 16: transferred 57 clusters with 6 clusters populated\n",
      "In stage 17: transferred 75 clusters with 6 clusters populated\n",
      "In stage 18: transferred 58 clusters with 6 clusters populated\n",
      "In stage 19: transferred 59 clusters with 6 clusters populated\n",
      "In stage 20: transferred 57 clusters with 6 clusters populated\n",
      "In stage 21: transferred 53 clusters with 6 clusters populated\n",
      "In stage 22: transferred 59 clusters with 6 clusters populated\n",
      "In stage 23: transferred 49 clusters with 6 clusters populated\n",
      "In stage 24: transferred 51 clusters with 6 clusters populated\n",
      "In stage 25: transferred 40 clusters with 6 clusters populated\n",
      "In stage 26: transferred 53 clusters with 6 clusters populated\n",
      "In stage 27: transferred 58 clusters with 6 clusters populated\n",
      "In stage 28: transferred 52 clusters with 6 clusters populated\n",
      "In stage 29: transferred 47 clusters with 6 clusters populated\n",
      "In stage 30: transferred 50 clusters with 6 clusters populated\n",
      "In stage 31: transferred 58 clusters with 6 clusters populated\n",
      "In stage 32: transferred 44 clusters with 6 clusters populated\n",
      "In stage 33: transferred 43 clusters with 6 clusters populated\n",
      "In stage 34: transferred 50 clusters with 6 clusters populated\n",
      "In stage 35: transferred 50 clusters with 6 clusters populated\n",
      "In stage 36: transferred 48 clusters with 6 clusters populated\n",
      "In stage 37: transferred 43 clusters with 6 clusters populated\n",
      "In stage 38: transferred 42 clusters with 6 clusters populated\n",
      "In stage 39: transferred 54 clusters with 6 clusters populated\n",
      "每一类聚的推文数： Counter({0: 690, 5: 355, 2: 239, 3: 209, 1: 167, 4: 142})\n",
      "Cluster0 details\n",
      "--------------------\n",
      "sentence in this clusters:\n",
      "感觉在威高广场见过你>弱>这头发>指>水着 一>草>二次元 行 今 二次元行 w>水着>我也可以啊。。。。>智乃这么主动的啊>>今日 行>gochiusa>>莲子>铁沙掌>新角色>>nyonmyon>夏米子变攻了啊>原来 那么懂事啊>耳差分>Clearite>暑>这人魔怔了>rityulate>gggrande>>情色什么，你很成熟 小穴都是粉的>\n",
      "========================================\n",
      "Cluster1 details\n",
      "--------------------\n",
      "sentence in this clusters:\n",
      "24时间以内 100来 俺 嫁 最近数増 娘嫁确定 ww>,连续两次买错电子元件的封装了>我同学也有想当主席的，而且还是特地说是“军委主席”，而不是“国家主席”。看来那小子对政治研究得很透，知道控制了军队就控制了一切。>黑色水手服不是初中生居多吗>硬件不行，成本控制不下来，再加上方案竞标不如华为塞的钱多>感觉你遇到和我当年大学一样的困境了，我大一大二的时候就自学了汇编语言，PCB layout，Linux系统开发，射频仿真，windows驱动开发。。。。。嘛反正自学的加起来和包子的书单一样多了，但是也遇到过过于投入自学反而导致学校的考试成绩差甚至挂科的危机。>以前做网优的人就告诉我华为的基站配置软件和系统做得不如中兴的>长五发射了两次都失败了，空间站的计划明显放慢>应该是，史上最成功的火箭发动机，美国也在用>俄罗斯说要拿火箭发动机买中国的微电子元件。 估计应该是买热成像传感器，微波集成电路之类的，法国不卖给他了>看解决方案是哪家提供的，电视台的人最多也就学习一下设备怎么操作而已>最近是谁说的阿富汗前所未有地接近和平来着的>我感觉tg的司马毛子老板已经把用户信息卖给了俄安局，据说俄罗斯用TG被抓的非常多。数据暂时还没卖给中国政府而已>我已经被甩过了>今天在同学群里面一问我大学宿舍的四个人到现在都是单身。而且全部都被女人甩过，我怀疑我住的那个宿舍是不是中过什么诅咒>结构化学难死，挂科的路过>这几家有几家开发了自己的编译器，程序语言，文件系统，音视频编码算法吗>是勤快的老鼠>苹果糖>以往的经验 学习正规超市里面买的还是不错的，要警惕上宿舍推销的，他们会向新生推销砖头一样厚的英语词典，做工质量很差的金属挂锁。我读大学的时候我父母陪我报道，三言两语就上当了帮我买了一堆东西，词典我一页也没翻过。那个挂锁我到超市发现比超市的价格贵一倍>需要重新安装一个USB设备的驱动，我在设备管理器里面点卸载驱动，发现插上设备还是旧的，按照winxp的方法是把注册表里面的项目删除，但是我在win10找到了却发现自己是没有权限删除的，要system权限。感觉微软设计得真的反人类>联合国大会禁止商业目的使用其简称>巴基斯坦高调掀起这样活动，与印控克什米尔局势变化直接相关。>白宫一位新闻发言人在回复BBC的提问时，附上了香港 南华早报 的一篇文章 中美贸易战 中国 美国>贸易战如何影响在华美国企业>如果有一项比较垃圾食品和旧石器时代饮食的研究，毫无疑问后者会胜出。那么回到史前时代的饮食方式就是解决之道吗>为什么有人喜欢超辣的咖喱 高强度的锻炼或者性虐待游戏 科学家解释说这是人类独有的嗜好，但喜欢疼痛的人是变态吗>美国总统特朗普说，中美贸易战已经导致中国大规模失业。这是真的吗>有分析师说华为手机如果“没有了谷歌的服务，没人会买的。”你同意还是反对>这是继时政杂志 炎黄春秋 后，中国又一处自由思想阵地面临灭顶之灾。\n",
      "========================================\n",
      "Cluster2 details\n",
      "--------------------\n",
      "sentence in this clusters:\n",
      "眞白 茉玖 。>我感觉川普靠炒股应该赚了不少钱>最近因为 街角魔族 和做了一个魔法少女的梦去重温了魔法少女 ，之前不是说2019年有第二季吗，连PV都出来了的，怎么到现在都还没有消息>好想看点兔OVA，还有点兔第三季>同 近 引 出 豊富>然而心爱好像是不会骑自行车的>雪初音 初音 白 VOCALOID 雪初音>应该是污染小成本低>所以以后动漫会不会有 XXXX同学，父母在非洲工作，现在归国，今年转学回日本>这军舰有点老啊，没有相控阵雷达>业主应该不住里面，住的多半是租户>我前几天出去散步，见附近的一个阿姨正在撒米喂鸡，她把一个袋子放在地上，弯腰用左手伸进袋子抓出一些饲料，扔到地上，小鸡们一哄而上。这时我才注意到她右手的袖子是空的，她没有右手 我回家问我妈，我妈说她知道这个阿姨，手是当年到深圳打工的时候被冲床压断的。 突然想起最近比较火的 美国工厂>一看就是个宅猫，脚都是粉的>你可以回答，你要的硝酸铵我实在无法给你寄到日本。还有你之前打算对驻日美军动手的事情千万不要泄漏了>不过二老的作品政治人物都是配角>感觉还是以前好，南方公园的二老把社会名流都涮了个遍都没啥事>今天过马路的时候，路口有个交警站岗，一群人都在等绿灯过人行道，但还是有个家伙在红灯的时候大摇大摆地走了过去，交警盯着他看了一眼也拿他没办法>主要是第一个OP是全日语的，估计是因为是快节奏的热血歌曲估计不好翻唱。二是有大量战斗被虐画面，比如被boss一掌拍得老远扔到大树上昏迷不醒，男主陷入思想困境低迷起来。在河蟹得厉害的CCAV是很少出现这种场景的。总之那时给我一种CCAV的动漫也有希望了的感觉>终于找到答案了，是阴阳大战记，原版男主还是福山润配音的，和他一起战斗的白虎兽人是这个，严格意义上这部动漫比起同期的通灵王，犬夜叉不算是太精彩，但是当时在CCAV上看到还是挺惊艳的>查了一下就是这个 终于知道名字了>90年代地方台倒是经常播日漫，有超时空要塞之类的。但是那时我不太喜欢看日漫，主要是日漫的反派太过于强大。打开电视就看见主角被不停地虐。美漫和国漫这种一集打一个敌人的要好得多>这个已经是科幻设定了>不吧，旧台标时期我天天放学回家第一件事打开电视看动画城大风车，那时全是国漫，没有放日漫，除非1993年以前>估计太早我没印象了，但是我记得CCAV几乎没有放过日漫的，倒是放过不少美漫>初音>是啊，我在网上也没搜到，这个动漫也很冷门>连在一起的希腊字母看上去感觉不够严肃，没有中二感。>“爱 生命 战斗” 这三个单词的各种语言效果 来自谷歌翻译 希腊语 德语 Liebesleben Kampf 法语 Combat de la vie amoureuse 俄语 世界语 Amo vivbatalo 其实从艺术效果来看应该是俄语最好看，但无奈俄语和苏联 共产主义画上等号了。德语其次>这部日漫好像在少儿频道没有播出多少集，战斗的背景有点类似于数码宝贝，但是给我耳目一新的一是非常难得的日漫，二是OP是直接用日语在少儿频道播出的，以往必须有一个中文OP，这才是非常少见的。不过那时我已经可以租VCD光碟看犬夜叉之类的更精彩的动漫，所以没有一直追着CCAV的电视>话说有人记得2005 2006年期间CCAV少儿频道播出的一部日漫叫什么名字吗，那有可能是CCAV唯一播放的一部日漫 EVA，魔卡少女樱等只在地方电视台播出过 ，我只记得这是一部战斗番，男主和一个白虎变成的兽人一起战斗，这个兽人好像叫小虎什么的，武器使用的是剑 是saber\n",
      "========================================\n",
      "Cluster3 details\n",
      "--------------------\n",
      "sentence in this clusters:\n",
      "某种意义上缅甸几个特区的制度应该是华人心中的终极模式 1. 有自己的军队， 不爽联邦政府就开干 2.有选票，嘛，虽然选举可能有猫腻但是也是选票 3.黄赌毒不违法，虽然各军阀一再强调自己已经取缔制贩毒 4. 排外，比如穆斯林的罗兴亚人全部轰出去，敲掉教堂等等>看一个美国白右和左翼游行冲突斗殴的纪录片，下面网民的留言很有意思，有个网民说，两边发生冲突，没人能拿到好处，真正渔翁得利的只有联邦政府。看样子大部分的美国网民都知道自己的定位是刁民，刁民必不可少地会和政府有冲突。政府是压迫和幕后黑手。这一点确实比全世界99 的国家的民众强太多>按右键发射地狱火>这个数据库是放 data data 还是 sdcard，后者可以被第三方应用获取>俄罗斯现在由政府出资建立了很多网络论坛，专门吸引欧美白右，有的还策划袭击。这方面俄罗斯确实厉害>不过好在那时有些技术方面的比赛，拿了奖之后一样可以保研，而且找技术之类的工作外面的公司反而不看重成绩看重奖项。物理数学之类的学科有数学建模比赛，可以试试>这么说不如考虑缅甸金三角之类的有游击队反政府武装的地方，这些地方物价也很低，还无法无天，有钱有枪就是天王老子，比自由世界还自由。。。。。>知 人 100rt目指 知 人>中央出钱10个亿，让三万老干部重走长征路，各地群众闻讯后十分激动，自愿扮演地方军阀和土匪豪强，让他们一个也到不了陕北>映画 素晴 世界 祝福 红伝说 公开 5日>这个怎么了 奸商愚骗横行 这么简单的骗局都在大陆横行霸道 它们不是简单的诈骗，威胁利诱>各种媒体不负责任的推波助澜 不乏央媒>各种地球村噱头>自香港联合国世界地球村有限公司倡导者梁田2008年发明的所江苏大丰港“世界第三个地球村”至今十馀年 至今，我们在网络技术发达的今天，只看到了无数高姿态自诩文字与华丽高企的视频 各种媒体不负责任的推波助澜 第一第二第三地球村，以及各种地球村噱头 愚弄各地方政府 ,最终无不交恶而终>这种无耻的骗子 2018年被揭发检举的鸡飞蛋打 招摇撞骗两地，和当地都恶言相向 至今去穷壤僻土的缅甸招摇撞骗，还洋洋自得 这得多大的无耻之心>十数年，它们做什么了 它们究竟啥是真的 一次不请自来的招摇撞骗，竟被伪造成“联合国世界地球村有限公司 全球第二个联合国地球村正式落户海南”>一群招摇撞骗被揭露的在中国大陆没市场，找穷乡僻壤去忽悠行骗>看看号称“联合国授权成立 千亿美金资金 国际投资机构”的胡说八道 这就是香港联合国世界地球村有限公司 Look at the nonsense of the so called United Nations authorized establishment, US 100 billion, international investment institutions Tt is UN World Global Village limited>“千亿美金资金 联合国授权成立 国际投资机构”的公司总部地址究竟在哪 诈骗公司网站里伪造的经社组织备案截图说是“上海市天启贸易发展有限公司同一地址 可又在知乎否认>声称资金进入“中国银行总行”，连最基本的开户条件都不具备>更是无耻透顶 视频开头声称“联合国世界地球村 全球第二个联合国地球村正式落户海南”，而海南政府一再明确“未达成任何实质性意向”>这种招摇撞骗>视频香港联合国世界地球村有限公司与海南琼山区政府召开项目洽谈会 UN World Global Village Limited ，十足欺诈伪造的诈骗道具>请查阅专门揭露诈骗集团香港联合国世界地球村有限公司实名认证文章汇集 威海乳山 知乎>请查阅专门揭露诈骗集团香港联合国世界地球村有限公司实名认证文章汇集 威海乳山 知乎>一群骗子 2018年招摇撞骗山东乳山 海南琼山，骂了两地官员一年>联合国世界地球村，1年半来，在中国投资考察情况说明 联合国世界地球村是为了世界和平，为了服务全球70亿人民而成立的一个独立的国际投资机构。对某些网络关心者，在理解上的有意或无意的偏差，针对某些恶意诽谤与抹黑我们的极个别的网民，公布在中国1年半来的部分>香港的这家公司的上海办公室负责人吴卫民也是上海卖涂料的一家公司负责人>鲁金平出资25万 注册资金50万元 经营五金杂货的上海天启贸易公司的通讯地址 电话和“千亿美金资金 联合国授权成立”的“国际投资公司”的地址电话一样 都有个鲁金平>总菜鲁金平\n",
      "========================================\n",
      "Cluster4 details\n",
      "--------------------\n",
      "sentence in this clusters:\n",
      "Soo Cute>OVA 注文 Sing For You 発売 5周年 记念 9月19日 渋谷 9月20日 注文 OIOI 开催 决定 描 使用 贩売 展示 盛>中二恋 一番好 诞生日 凸守 络 最高 尊 丹生谷森夏生诞祭2019 8月30日 丹生谷森夏 诞生日 中二病 恋 祝 人  人全员>乃木园子生诞祭 乃木园子生诞祭2019>何度 见 気 入 贴>丹生谷森夏 诞生日 控 言 普通 可爱 普通 好 普通 推 w 个人的 茶髪 可爱 8月30日 丹生谷森夏 诞生日 丹生谷森夏诞生祭2019 https>四季 喫茶 死神 蝶>描 会 楽 会 确认 v>君 夏 思 出>房主是索菲酱，确认>太平了>校内的算了，浪费时间，挂靠个有名气的老师，拿国赛和省赛>茉玖 。 Live2D 元 絵>2日 少>可以装mod解决吧，辐射里面女号都可以睡木兰花>概念题简单，照顾突击背书的学生，通宵复习一晚可过>声优色纸 追加 记念 田村 佐藤聡美 大西沙织 直笔 入 色纸 计6名様  応募 完了 応募>放送情报 AT X 毎周金曜21 30 TOKYO MX 毎周金曜22 30 爱知 毎周金曜27 05 KBS京都 毎周金曜24 00 毎周金曜24 00 BS11 毎周金曜23 00 AbemaTV 毎周 金>甘奈 気軽 诱>Ecchi KawaiiCommunity Cute>今日 朝 少 忧郁気味 。 顽张 今日>La na triplepeach>巻第57话 恐怖 一夜 吸血鬼 好评発売中 吸血鬼>是啊，我有时候也觉得我是女孩子>我觉得倒不是怕晒，是睡这种天窗五六点钟就天亮了强制让人起床很恐怖>落书 练习 霊梦 描>何度 见 気 入 贴 幼女>絵描 繋 子 似合>安装各种CV叫起床apk就可以了>博丽神社例大祭生放送 158 第6回秋季例大祭 募集 东方Project 今周8 31 19时 毎回恒例 参加特集 各部署 自部署 魅力\n",
      "========================================\n",
      "Cluster5 details\n",
      "--------------------\n",
      "sentence in this clusters:\n",
      "You can ask me anything over here>School starts tomorrow, help pls 3>I ll just leave this right here...>幼女 好 繋 好 人 二次元 幼女 可爱 正义 拡散希望 相互希望>深夜 真剣 絵描 60分一本胜负 键山雏>Zzz 好 人 繋 好 人 二次元 幼女 可爱 正义 拡散希望 相互希望>深夜 真剣 絵描 60分一本胜负 秦>ne on>幼女 。>深夜 真剣 絵描 60分一本胜负 铃仙 优昙华院>600>Video Hong Kong UN World Global Village Limited and Hainan Qiongshan District Government held a project fair UN World Global Village Limited , full of fraud and forgery of fraud props>You should confirm that is Hongkong UN World Global Village Limited Really, as they say, There s no problem with the United Nations confirming that the United Nations World Village Limited is authorized to be established>You should confirm that Hong Kong is UN World Global Village Limited Really, as they say, There s no problem with the United Nations confirming that the United Nations World Village Limited is authorized to be established>Ministry of Foreign Affairs of Myanmar Lu Jinping Wu Weimin and his Hong Kong United Nations World Village Co., Ltd. are fraudulent groups.>Let s see what kind of Hong Kong UN World Global Village limited is invited by you. Forgery, impersonation, fiction, fiction, threats, intimidation>Please refer to the collection of authenticated real name articles specially disclosing fraud group Hong Kong United Nations World Village Limited Weihai Rushan Zhihu>Please refer to the collection of authenticated real name articles specially disclosing fraud group Hong Kong United Nations World Village Limited Weihai Rushan Zhihu>On August 7, 2019, Lu Jinping and Wu Weimin of the United Nations World Global Village Co., Ltd. of Hong Kong, who bluffed the Burmese Investment and Management Authority, were fraudulent groups.>fabricated the original bank fund certificate of 50 billion euros, fabricated the head office account of the Bank of China, fabricated video the second in the world The United Nations Global Village officially settled in Hainan>Registered in Hong Kong, headed by Lu Jinping Wu Weimin, the United Nations World Global Village Co., Ltd. fabricated relevant United Nations organizations, established under the authority of the United Nations, fabricated various United Nations global village gimmicks,>To the Myanmar Investment and Corporate Authority In the news of August 7 on your bureau s website，“U Thant Sin Lwin, Director General of the Directorate of Investment and Company Administration received Mr. Jinping Lu, Chairman of UN World>Wu Weimin, head of the Shanghai Office of the United Nations World Villages Co., Ltd. in Hong Kong, said foolishly that the United Nations World Villages Co., Ltd. was registered in Hong Kong in 2011 with the approval of Secretary General Annan of the United Nations.>The United Nations website should publish the authorized groups and companies to use its abbreviated name, so as to prevent the use of the name of the United Nations to bluff and cheat Like the counterfeit UN World Village Limited, English name UN World Global Village Limited.>“老师大多在港英时代出生，已经买到房，生活安乐，不需要走出来。但我们不同，努力工作18年都买不到房。”一名中学生对BBC中文网说。>新加坡拥有香港不具备的独立主权，身份认同简单直接。大家觉得中国可以参考新加坡模式管治香港吗>澳大利亚政府已经宣布建立一个特别情报工作组，以打击此类威胁。>do you agree>谈到求职面试，精彩的简历 个人陈述和面试问答的确可以帮助你得到工作，但你的言谈举止和手势动作却有可能给你扣分。>谈到求职面试，精彩的简历 个人陈述和面试问答的确可以帮助你得到工作，但你的言谈举止和手势动作却有可能给你扣分。\n",
      "========================================\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>id</th>\n",
       "      <th>key</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>[5d68f178047c01f0a519557b, 5d68f17d047c01f0a51...</td>\n",
       "      <td>情色 男生 女生 交友 寻约 平台 华人 女神 丝袜 漫展</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>[5d68f17d047c01f0a5195a32, 5d68f17d047c01f0a51...</td>\n",
       "      <td>贸易战 设备 人类 研究 社交 超过 价格 散播 猪肉 已经</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>[5d68f17d047c01f0a5195a16, 5d68f17d047c01f0a51...</td>\n",
       "      <td>谣言 造谣 编造 民主 笑话 没有 警察 好像 魔法 媒体</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>[5d68f17d047c01f0a5195a3c, 5d68f17d047c01f0a51...</td>\n",
       "      <td>示威者 地球村 警方 示威 世界 警察 有限公司 炮车 政府 投资</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>[5d68f17d047c01f0a5195a12, 5d68f17d047c01f0a51...</td>\n",
       "      <td>首相 退休 普通 人体 议员 诞生 越来越 协议 至少 讨论</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>[5d68f17d047c01f0a5195a30, 5d68f17d047c01f0a51...</td>\n",
       "      <td>民主 自由 录音 媒体 总统 沦陷区 编造 社会 月娥 并称</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                                                  id  \\\n",
       "0  [5d68f178047c01f0a519557b, 5d68f17d047c01f0a51...   \n",
       "1  [5d68f17d047c01f0a5195a32, 5d68f17d047c01f0a51...   \n",
       "2  [5d68f17d047c01f0a5195a16, 5d68f17d047c01f0a51...   \n",
       "3  [5d68f17d047c01f0a5195a3c, 5d68f17d047c01f0a51...   \n",
       "4  [5d68f17d047c01f0a5195a12, 5d68f17d047c01f0a51...   \n",
       "5  [5d68f17d047c01f0a5195a30, 5d68f17d047c01f0a51...   \n",
       "\n",
       "                                 key  \n",
       "0      情色 男生 女生 交友 寻约 平台 华人 女神 丝袜 漫展  \n",
       "1     贸易战 设备 人类 研究 社交 超过 价格 散播 猪肉 已经  \n",
       "2      谣言 造谣 编造 民主 笑话 没有 警察 好像 魔法 媒体  \n",
       "3  示威者 地球村 警方 示威 世界 警察 有限公司 炮车 政府 投资  \n",
       "4     首相 退休 普通 人体 议员 诞生 越来越 协议 至少 讨论  \n",
       "5     民主 自由 录音 媒体 总统 沦陷区 编造 社会 月娥 并称  "
      ]
     },
     "execution_count": 1,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "from cluster_extract import cluster_extract\n",
    "data=cluster_extract()\n",
    "data"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 删除情色推文，下面的删除代码需谨慎执行"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [],
   "source": [
    "import pymongo\n",
    "from bson.objectid import ObjectId"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "```\n",
    "#1.连接所需数据库、集合,twitter_search为数据库名，user_timeline为表名\n",
    "client = pymongo.MongoClient('10.245.142.249', 27017)\n",
    "user_timeline_collect = client['twitter_search']['user_timeline']\n",
    "\n",
    "#2.把字符型的id转换为ObjectId类型\n",
    "_idList=[ObjectId(_id) for _id in data['id'][0]]#情色推文的mongodb中的_id号\n",
    "\n",
    "#3.执行删除\n",
    "user_timeline_collect.remove({'_id':{\"$in\":_idList}},safe=True)\n",
    "```"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.5.6"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
